package org.linlinjava.litemall.db.domain;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

public class BusinessPersonExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BusinessPersonExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public BusinessPersonExample orderBy(String orderByClause) {
        this.setOrderByClause(orderByClause);
        return this;
    }

    public BusinessPersonExample orderBy(String ... orderByClauses) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < orderByClauses.length; i++) {
            sb.append(orderByClauses[i]);
            if (i < orderByClauses.length - 1) {
                sb.append(" , ");
            }
        }
        this.setOrderByClause(sb.toString());
        return this;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria(this);
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public static Criteria newAndCreateCriteria() {
        BusinessPersonExample example = new BusinessPersonExample();
        return example.createCriteria();
    }

    public BusinessPersonExample when(boolean condition, IExampleWhen then) {
        if (condition) {
            then.example(this);
        }
        return this;
    }

    public BusinessPersonExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
        if (condition) {
            then.example(this);
        } else {
            otherwise.example(this);
        }
        return this;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andPersonIdIsNull() {
            addCriterion("person_id is null");
            return (Criteria) this;
        }

        public Criteria andPersonIdIsNotNull() {
            addCriterion("person_id is not null");
            return (Criteria) this;
        }

        public Criteria andPersonIdEqualTo(String value) {
            addCriterion("person_id =", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonIdNotEqualTo(String value) {
            addCriterion("person_id <>", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonIdGreaterThan(String value) {
            addCriterion("person_id >", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonIdGreaterThanOrEqualTo(String value) {
            addCriterion("person_id >=", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonIdLessThan(String value) {
            addCriterion("person_id <", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonIdLessThanOrEqualTo(String value) {
            addCriterion("person_id <=", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonIdLike(String value) {
            addCriterion("person_id like", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdNotLike(String value) {
            addCriterion("person_id not like", value, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdIn(List<String> values) {
            addCriterion("person_id in", values, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdNotIn(List<String> values) {
            addCriterion("person_id not in", values, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdBetween(String value1, String value2) {
            addCriterion("person_id between", value1, value2, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonIdNotBetween(String value1, String value2) {
            addCriterion("person_id not between", value1, value2, "personId");
            return (Criteria) this;
        }

        public Criteria andPersonNameIsNull() {
            addCriterion("person_name is null");
            return (Criteria) this;
        }

        public Criteria andPersonNameIsNotNull() {
            addCriterion("person_name is not null");
            return (Criteria) this;
        }

        public Criteria andPersonNameEqualTo(String value) {
            addCriterion("person_name =", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonNameNotEqualTo(String value) {
            addCriterion("person_name <>", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonNameGreaterThan(String value) {
            addCriterion("person_name >", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonNameGreaterThanOrEqualTo(String value) {
            addCriterion("person_name >=", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonNameLessThan(String value) {
            addCriterion("person_name <", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonNameLessThanOrEqualTo(String value) {
            addCriterion("person_name <=", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonNameLike(String value) {
            addCriterion("person_name like", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameNotLike(String value) {
            addCriterion("person_name not like", value, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameIn(List<String> values) {
            addCriterion("person_name in", values, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameNotIn(List<String> values) {
            addCriterion("person_name not in", values, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameBetween(String value1, String value2) {
            addCriterion("person_name between", value1, value2, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonNameNotBetween(String value1, String value2) {
            addCriterion("person_name not between", value1, value2, "personName");
            return (Criteria) this;
        }

        public Criteria andPersonSexIsNull() {
            addCriterion("person_sex is null");
            return (Criteria) this;
        }

        public Criteria andPersonSexIsNotNull() {
            addCriterion("person_sex is not null");
            return (Criteria) this;
        }

        public Criteria andPersonSexEqualTo(String value) {
            addCriterion("person_sex =", value, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_sex = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSexNotEqualTo(String value) {
            addCriterion("person_sex <>", value, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_sex <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSexGreaterThan(String value) {
            addCriterion("person_sex >", value, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_sex > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSexGreaterThanOrEqualTo(String value) {
            addCriterion("person_sex >=", value, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_sex >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSexLessThan(String value) {
            addCriterion("person_sex <", value, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_sex < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSexLessThanOrEqualTo(String value) {
            addCriterion("person_sex <=", value, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_sex <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSexLike(String value) {
            addCriterion("person_sex like", value, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexNotLike(String value) {
            addCriterion("person_sex not like", value, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexIn(List<String> values) {
            addCriterion("person_sex in", values, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexNotIn(List<String> values) {
            addCriterion("person_sex not in", values, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexBetween(String value1, String value2) {
            addCriterion("person_sex between", value1, value2, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonSexNotBetween(String value1, String value2) {
            addCriterion("person_sex not between", value1, value2, "personSex");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayIsNull() {
            addCriterion("person_birthday is null");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayIsNotNull() {
            addCriterion("person_birthday is not null");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayEqualTo(LocalDate value) {
            addCriterion("person_birthday =", value, "personBirthday");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_birthday = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayNotEqualTo(LocalDate value) {
            addCriterion("person_birthday <>", value, "personBirthday");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_birthday <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayGreaterThan(LocalDate value) {
            addCriterion("person_birthday >", value, "personBirthday");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_birthday > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayGreaterThanOrEqualTo(LocalDate value) {
            addCriterion("person_birthday >=", value, "personBirthday");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_birthday >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayLessThan(LocalDate value) {
            addCriterion("person_birthday <", value, "personBirthday");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_birthday < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayLessThanOrEqualTo(LocalDate value) {
            addCriterion("person_birthday <=", value, "personBirthday");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_birthday <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayIn(List<LocalDate> values) {
            addCriterion("person_birthday in", values, "personBirthday");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayNotIn(List<LocalDate> values) {
            addCriterion("person_birthday not in", values, "personBirthday");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayBetween(LocalDate value1, LocalDate value2) {
            addCriterion("person_birthday between", value1, value2, "personBirthday");
            return (Criteria) this;
        }

        public Criteria andPersonBirthdayNotBetween(LocalDate value1, LocalDate value2) {
            addCriterion("person_birthday not between", value1, value2, "personBirthday");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentIsNull() {
            addCriterion("person_department is null");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentIsNotNull() {
            addCriterion("person_department is not null");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentEqualTo(String value) {
            addCriterion("person_department =", value, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_department = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentNotEqualTo(String value) {
            addCriterion("person_department <>", value, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_department <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentGreaterThan(String value) {
            addCriterion("person_department >", value, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_department > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentGreaterThanOrEqualTo(String value) {
            addCriterion("person_department >=", value, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_department >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentLessThan(String value) {
            addCriterion("person_department <", value, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_department < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentLessThanOrEqualTo(String value) {
            addCriterion("person_department <=", value, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_department <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentLike(String value) {
            addCriterion("person_department like", value, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentNotLike(String value) {
            addCriterion("person_department not like", value, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentIn(List<String> values) {
            addCriterion("person_department in", values, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentNotIn(List<String> values) {
            addCriterion("person_department not in", values, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentBetween(String value1, String value2) {
            addCriterion("person_department between", value1, value2, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonDepartmentNotBetween(String value1, String value2) {
            addCriterion("person_department not between", value1, value2, "personDepartment");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelIsNull() {
            addCriterion("person_learn_level is null");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelIsNotNull() {
            addCriterion("person_learn_level is not null");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelEqualTo(String value) {
            addCriterion("person_learn_level =", value, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_learn_level = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelNotEqualTo(String value) {
            addCriterion("person_learn_level <>", value, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_learn_level <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelGreaterThan(String value) {
            addCriterion("person_learn_level >", value, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_learn_level > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelGreaterThanOrEqualTo(String value) {
            addCriterion("person_learn_level >=", value, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_learn_level >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelLessThan(String value) {
            addCriterion("person_learn_level <", value, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_learn_level < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelLessThanOrEqualTo(String value) {
            addCriterion("person_learn_level <=", value, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_learn_level <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelLike(String value) {
            addCriterion("person_learn_level like", value, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelNotLike(String value) {
            addCriterion("person_learn_level not like", value, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelIn(List<String> values) {
            addCriterion("person_learn_level in", values, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelNotIn(List<String> values) {
            addCriterion("person_learn_level not in", values, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelBetween(String value1, String value2) {
            addCriterion("person_learn_level between", value1, value2, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonLearnLevelNotBetween(String value1, String value2) {
            addCriterion("person_learn_level not between", value1, value2, "personLearnLevel");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialIsNull() {
            addCriterion("person_special is null");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialIsNotNull() {
            addCriterion("person_special is not null");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialEqualTo(String value) {
            addCriterion("person_special =", value, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_special = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSpecialNotEqualTo(String value) {
            addCriterion("person_special <>", value, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_special <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSpecialGreaterThan(String value) {
            addCriterion("person_special >", value, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_special > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSpecialGreaterThanOrEqualTo(String value) {
            addCriterion("person_special >=", value, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_special >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSpecialLessThan(String value) {
            addCriterion("person_special <", value, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_special < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSpecialLessThanOrEqualTo(String value) {
            addCriterion("person_special <=", value, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_special <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonSpecialLike(String value) {
            addCriterion("person_special like", value, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialNotLike(String value) {
            addCriterion("person_special not like", value, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialIn(List<String> values) {
            addCriterion("person_special in", values, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialNotIn(List<String> values) {
            addCriterion("person_special not in", values, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialBetween(String value1, String value2) {
            addCriterion("person_special between", value1, value2, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonSpecialNotBetween(String value1, String value2) {
            addCriterion("person_special not between", value1, value2, "personSpecial");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleIsNull() {
            addCriterion("person_job_title is null");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleIsNotNull() {
            addCriterion("person_job_title is not null");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleEqualTo(String value) {
            addCriterion("person_job_title =", value, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_job_title = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleNotEqualTo(String value) {
            addCriterion("person_job_title <>", value, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_job_title <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleGreaterThan(String value) {
            addCriterion("person_job_title >", value, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_job_title > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleGreaterThanOrEqualTo(String value) {
            addCriterion("person_job_title >=", value, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_job_title >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleLessThan(String value) {
            addCriterion("person_job_title <", value, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_job_title < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleLessThanOrEqualTo(String value) {
            addCriterion("person_job_title <=", value, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_job_title <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleLike(String value) {
            addCriterion("person_job_title like", value, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleNotLike(String value) {
            addCriterion("person_job_title not like", value, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleIn(List<String> values) {
            addCriterion("person_job_title in", values, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleNotIn(List<String> values) {
            addCriterion("person_job_title not in", values, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleBetween(String value1, String value2) {
            addCriterion("person_job_title between", value1, value2, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andPersonJobTitleNotBetween(String value1, String value2) {
            addCriterion("person_job_title not between", value1, value2, "personJobTitle");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNull() {
            addCriterion("project_id is null");
            return (Criteria) this;
        }

        public Criteria andProjectIdIsNotNull() {
            addCriterion("project_id is not null");
            return (Criteria) this;
        }

        public Criteria andProjectIdEqualTo(String value) {
            addCriterion("project_id =", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_id = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdNotEqualTo(String value) {
            addCriterion("project_id <>", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_id <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThan(String value) {
            addCriterion("project_id >", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_id > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanOrEqualTo(String value) {
            addCriterion("project_id >=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_id >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThan(String value) {
            addCriterion("project_id <", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_id < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanOrEqualTo(String value) {
            addCriterion("project_id <=", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_id <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectIdLike(String value) {
            addCriterion("project_id like", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotLike(String value) {
            addCriterion("project_id not like", value, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdIn(List<String> values) {
            addCriterion("project_id in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotIn(List<String> values) {
            addCriterion("project_id not in", values, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdBetween(String value1, String value2) {
            addCriterion("project_id between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectIdNotBetween(String value1, String value2) {
            addCriterion("project_id not between", value1, value2, "projectId");
            return (Criteria) this;
        }

        public Criteria andProjectNameIsNull() {
            addCriterion("project_name is null");
            return (Criteria) this;
        }

        public Criteria andProjectNameIsNotNull() {
            addCriterion("project_name is not null");
            return (Criteria) this;
        }

        public Criteria andProjectNameEqualTo(String value) {
            addCriterion("project_name =", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectNameNotEqualTo(String value) {
            addCriterion("project_name <>", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThan(String value) {
            addCriterion("project_name >", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThanOrEqualTo(String value) {
            addCriterion("project_name >=", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThan(String value) {
            addCriterion("project_name <", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThanOrEqualTo(String value) {
            addCriterion("project_name <=", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("project_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andProjectNameLike(String value) {
            addCriterion("project_name like", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotLike(String value) {
            addCriterion("project_name not like", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameIn(List<String> values) {
            addCriterion("project_name in", values, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotIn(List<String> values) {
            addCriterion("project_name not in", values, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameBetween(String value1, String value2) {
            addCriterion("project_name between", value1, value2, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotBetween(String value1, String value2) {
            addCriterion("project_name not between", value1, value2, "projectName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleIsNull() {
            addCriterion("owning_module is null");
            return (Criteria) this;
        }

        public Criteria andOwningModuleIsNotNull() {
            addCriterion("owning_module is not null");
            return (Criteria) this;
        }

        public Criteria andOwningModuleEqualTo(Integer value) {
            addCriterion("owning_module =", value, "owningModule");
            return (Criteria) this;
        }

        public Criteria andOwningModuleEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleNotEqualTo(Integer value) {
            addCriterion("owning_module <>", value, "owningModule");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleGreaterThan(Integer value) {
            addCriterion("owning_module >", value, "owningModule");
            return (Criteria) this;
        }

        public Criteria andOwningModuleGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleGreaterThanOrEqualTo(Integer value) {
            addCriterion("owning_module >=", value, "owningModule");
            return (Criteria) this;
        }

        public Criteria andOwningModuleGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleLessThan(Integer value) {
            addCriterion("owning_module <", value, "owningModule");
            return (Criteria) this;
        }

        public Criteria andOwningModuleLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleLessThanOrEqualTo(Integer value) {
            addCriterion("owning_module <=", value, "owningModule");
            return (Criteria) this;
        }

        public Criteria andOwningModuleLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleIn(List<Integer> values) {
            addCriterion("owning_module in", values, "owningModule");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNotIn(List<Integer> values) {
            addCriterion("owning_module not in", values, "owningModule");
            return (Criteria) this;
        }

        public Criteria andOwningModuleBetween(Integer value1, Integer value2) {
            addCriterion("owning_module between", value1, value2, "owningModule");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNotBetween(Integer value1, Integer value2) {
            addCriterion("owning_module not between", value1, value2, "owningModule");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameIsNull() {
            addCriterion("owning_module_name is null");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameIsNotNull() {
            addCriterion("owning_module_name is not null");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameEqualTo(String value) {
            addCriterion("owning_module_name =", value, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameNotEqualTo(String value) {
            addCriterion("owning_module_name <>", value, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameGreaterThan(String value) {
            addCriterion("owning_module_name >", value, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameGreaterThanOrEqualTo(String value) {
            addCriterion("owning_module_name >=", value, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameLessThan(String value) {
            addCriterion("owning_module_name <", value, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameLessThanOrEqualTo(String value) {
            addCriterion("owning_module_name <=", value, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("owning_module_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameLike(String value) {
            addCriterion("owning_module_name like", value, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameNotLike(String value) {
            addCriterion("owning_module_name not like", value, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameIn(List<String> values) {
            addCriterion("owning_module_name in", values, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameNotIn(List<String> values) {
            addCriterion("owning_module_name not in", values, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameBetween(String value1, String value2) {
            addCriterion("owning_module_name between", value1, value2, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andOwningModuleNameNotBetween(String value1, String value2) {
            addCriterion("owning_module_name not between", value1, value2, "owningModuleName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyIsNull() {
            addCriterion("person_duty is null");
            return (Criteria) this;
        }

        public Criteria andPersonDutyIsNotNull() {
            addCriterion("person_duty is not null");
            return (Criteria) this;
        }

        public Criteria andPersonDutyEqualTo(Integer value) {
            addCriterion("person_duty =", value, "personDuty");
            return (Criteria) this;
        }

        public Criteria andPersonDutyEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyNotEqualTo(Integer value) {
            addCriterion("person_duty <>", value, "personDuty");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyGreaterThan(Integer value) {
            addCriterion("person_duty >", value, "personDuty");
            return (Criteria) this;
        }

        public Criteria andPersonDutyGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyGreaterThanOrEqualTo(Integer value) {
            addCriterion("person_duty >=", value, "personDuty");
            return (Criteria) this;
        }

        public Criteria andPersonDutyGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyLessThan(Integer value) {
            addCriterion("person_duty <", value, "personDuty");
            return (Criteria) this;
        }

        public Criteria andPersonDutyLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyLessThanOrEqualTo(Integer value) {
            addCriterion("person_duty <=", value, "personDuty");
            return (Criteria) this;
        }

        public Criteria andPersonDutyLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyIn(List<Integer> values) {
            addCriterion("person_duty in", values, "personDuty");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNotIn(List<Integer> values) {
            addCriterion("person_duty not in", values, "personDuty");
            return (Criteria) this;
        }

        public Criteria andPersonDutyBetween(Integer value1, Integer value2) {
            addCriterion("person_duty between", value1, value2, "personDuty");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNotBetween(Integer value1, Integer value2) {
            addCriterion("person_duty not between", value1, value2, "personDuty");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameIsNull() {
            addCriterion("person_duty_name is null");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameIsNotNull() {
            addCriterion("person_duty_name is not null");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameEqualTo(String value) {
            addCriterion("person_duty_name =", value, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameNotEqualTo(String value) {
            addCriterion("person_duty_name <>", value, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameGreaterThan(String value) {
            addCriterion("person_duty_name >", value, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameGreaterThanOrEqualTo(String value) {
            addCriterion("person_duty_name >=", value, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameLessThan(String value) {
            addCriterion("person_duty_name <", value, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameLessThanOrEqualTo(String value) {
            addCriterion("person_duty_name <=", value, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_duty_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameLike(String value) {
            addCriterion("person_duty_name like", value, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameNotLike(String value) {
            addCriterion("person_duty_name not like", value, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameIn(List<String> values) {
            addCriterion("person_duty_name in", values, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameNotIn(List<String> values) {
            addCriterion("person_duty_name not in", values, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameBetween(String value1, String value2) {
            addCriterion("person_duty_name between", value1, value2, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonDutyNameNotBetween(String value1, String value2) {
            addCriterion("person_duty_name not between", value1, value2, "personDutyName");
            return (Criteria) this;
        }

        public Criteria andPersonRankIsNull() {
            addCriterion("person_rank is null");
            return (Criteria) this;
        }

        public Criteria andPersonRankIsNotNull() {
            addCriterion("person_rank is not null");
            return (Criteria) this;
        }

        public Criteria andPersonRankEqualTo(Integer value) {
            addCriterion("person_rank =", value, "personRank");
            return (Criteria) this;
        }

        public Criteria andPersonRankEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_rank = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRankNotEqualTo(Integer value) {
            addCriterion("person_rank <>", value, "personRank");
            return (Criteria) this;
        }

        public Criteria andPersonRankNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_rank <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRankGreaterThan(Integer value) {
            addCriterion("person_rank >", value, "personRank");
            return (Criteria) this;
        }

        public Criteria andPersonRankGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_rank > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRankGreaterThanOrEqualTo(Integer value) {
            addCriterion("person_rank >=", value, "personRank");
            return (Criteria) this;
        }

        public Criteria andPersonRankGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_rank >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRankLessThan(Integer value) {
            addCriterion("person_rank <", value, "personRank");
            return (Criteria) this;
        }

        public Criteria andPersonRankLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_rank < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRankLessThanOrEqualTo(Integer value) {
            addCriterion("person_rank <=", value, "personRank");
            return (Criteria) this;
        }

        public Criteria andPersonRankLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_rank <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRankIn(List<Integer> values) {
            addCriterion("person_rank in", values, "personRank");
            return (Criteria) this;
        }

        public Criteria andPersonRankNotIn(List<Integer> values) {
            addCriterion("person_rank not in", values, "personRank");
            return (Criteria) this;
        }

        public Criteria andPersonRankBetween(Integer value1, Integer value2) {
            addCriterion("person_rank between", value1, value2, "personRank");
            return (Criteria) this;
        }

        public Criteria andPersonRankNotBetween(Integer value1, Integer value2) {
            addCriterion("person_rank not between", value1, value2, "personRank");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkIsNull() {
            addCriterion("person_remark is null");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkIsNotNull() {
            addCriterion("person_remark is not null");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkEqualTo(String value) {
            addCriterion("person_remark =", value, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_remark = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRemarkNotEqualTo(String value) {
            addCriterion("person_remark <>", value, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_remark <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRemarkGreaterThan(String value) {
            addCriterion("person_remark >", value, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_remark > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("person_remark >=", value, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_remark >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRemarkLessThan(String value) {
            addCriterion("person_remark <", value, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_remark < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRemarkLessThanOrEqualTo(String value) {
            addCriterion("person_remark <=", value, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("person_remark <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andPersonRemarkLike(String value) {
            addCriterion("person_remark like", value, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkNotLike(String value) {
            addCriterion("person_remark not like", value, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkIn(List<String> values) {
            addCriterion("person_remark in", values, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkNotIn(List<String> values) {
            addCriterion("person_remark not in", values, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkBetween(String value1, String value2) {
            addCriterion("person_remark between", value1, value2, "personRemark");
            return (Criteria) this;
        }

        public Criteria andPersonRemarkNotBetween(String value1, String value2) {
            addCriterion("person_remark not between", value1, value2, "personRemark");
            return (Criteria) this;
        }

        public Criteria andAdminNameIsNull() {
            addCriterion("admin_name is null");
            return (Criteria) this;
        }

        public Criteria andAdminNameIsNotNull() {
            addCriterion("admin_name is not null");
            return (Criteria) this;
        }

        public Criteria andAdminNameEqualTo(String value) {
            addCriterion("admin_name =", value, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("admin_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAdminNameNotEqualTo(String value) {
            addCriterion("admin_name <>", value, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("admin_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAdminNameGreaterThan(String value) {
            addCriterion("admin_name >", value, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("admin_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAdminNameGreaterThanOrEqualTo(String value) {
            addCriterion("admin_name >=", value, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("admin_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAdminNameLessThan(String value) {
            addCriterion("admin_name <", value, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("admin_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAdminNameLessThanOrEqualTo(String value) {
            addCriterion("admin_name <=", value, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("admin_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andAdminNameLike(String value) {
            addCriterion("admin_name like", value, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameNotLike(String value) {
            addCriterion("admin_name not like", value, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameIn(List<String> values) {
            addCriterion("admin_name in", values, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameNotIn(List<String> values) {
            addCriterion("admin_name not in", values, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameBetween(String value1, String value2) {
            addCriterion("admin_name between", value1, value2, "adminName");
            return (Criteria) this;
        }

        public Criteria andAdminNameNotBetween(String value1, String value2) {
            addCriterion("admin_name not between", value1, value2, "adminName");
            return (Criteria) this;
        }

        public Criteria andInsertTimeIsNull() {
            addCriterion("insert_time is null");
            return (Criteria) this;
        }

        public Criteria andInsertTimeIsNotNull() {
            addCriterion("insert_time is not null");
            return (Criteria) this;
        }

        public Criteria andInsertTimeEqualTo(LocalDateTime value) {
            addCriterion("insert_time =", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("insert_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andInsertTimeNotEqualTo(LocalDateTime value) {
            addCriterion("insert_time <>", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("insert_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andInsertTimeGreaterThan(LocalDateTime value) {
            addCriterion("insert_time >", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("insert_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andInsertTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("insert_time >=", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("insert_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andInsertTimeLessThan(LocalDateTime value) {
            addCriterion("insert_time <", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("insert_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andInsertTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("insert_time <=", value, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("insert_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andInsertTimeIn(List<LocalDateTime> values) {
            addCriterion("insert_time in", values, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeNotIn(List<LocalDateTime> values) {
            addCriterion("insert_time not in", values, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("insert_time between", value1, value2, "insertTime");
            return (Criteria) this;
        }

        public Criteria andInsertTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("insert_time not between", value1, value2, "insertTime");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameIsNull() {
            addCriterion("update_admin_name is null");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameIsNotNull() {
            addCriterion("update_admin_name is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameEqualTo(String value) {
            addCriterion("update_admin_name =", value, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_admin_name = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameNotEqualTo(String value) {
            addCriterion("update_admin_name <>", value, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_admin_name <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameGreaterThan(String value) {
            addCriterion("update_admin_name >", value, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_admin_name > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameGreaterThanOrEqualTo(String value) {
            addCriterion("update_admin_name >=", value, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_admin_name >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameLessThan(String value) {
            addCriterion("update_admin_name <", value, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_admin_name < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameLessThanOrEqualTo(String value) {
            addCriterion("update_admin_name <=", value, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_admin_name <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameLike(String value) {
            addCriterion("update_admin_name like", value, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameNotLike(String value) {
            addCriterion("update_admin_name not like", value, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameIn(List<String> values) {
            addCriterion("update_admin_name in", values, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameNotIn(List<String> values) {
            addCriterion("update_admin_name not in", values, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameBetween(String value1, String value2) {
            addCriterion("update_admin_name between", value1, value2, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateAdminNameNotBetween(String value1, String value2) {
            addCriterion("update_admin_name not between", value1, value2, "updateAdminName");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(LocalDateTime value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_time = ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(LocalDateTime value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_time <> ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(LocalDateTime value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_time > ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(LocalDateTime value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_time >= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(LocalDateTime value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_time < ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(LocalDateTime value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualToColumn(BusinessPerson.Column column) {
            addCriterion(new StringBuilder("update_time <= ").append(column.getEscapedColumnName()).toString());
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<LocalDateTime> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<LocalDateTime> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        private BusinessPersonExample example;

        protected Criteria(BusinessPersonExample example) {
            super();
            this.example = example;
        }

        public BusinessPersonExample example() {
            return this.example;
        }

        @Deprecated
        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
            if (ifAdd) {
                add.add(this);
            }
            return this;
        }

        public Criteria when(boolean condition, ICriteriaWhen then) {
            if (condition) {
                then.criteria(this);
            }
            return this;
        }

        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
            if (condition) {
                then.criteria(this);
            } else {
                otherwise.criteria(this);
            }
            return this;
        }

        @Deprecated
        public interface ICriteriaAdd {
            Criteria add(Criteria add);
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }

    public interface ICriteriaWhen {
        void criteria(Criteria criteria);
    }

    public interface IExampleWhen {
        void example(org.linlinjava.litemall.db.domain.BusinessPersonExample example);
    }
}